/**
 * 输入框
 */
export function validateInput (rule, value, callback) {
  const reg = /^\S+(\s+\S+)*$/
  if (value && !reg.test(value)) {
    callback(new Error('不能以空格开头或者结尾'))
    return
  }
  callback()
}

/**
 * 姓名
 */
export function validateName (rule, value, callback) {
  const reg1 = /^\S+(\s+\S+)*$/
  if (value && !reg1.test(value)) {
    callback(new Error('不能以空格开头或者结尾'))
    return
  }
  const reg2 = /^[\s\S]{2,20}$/
  if (value && !reg2.test(value)) {
    callback(new Error('请输入2 ~ 20个字符'))
    return
  }
  callback()
}

/**
 * 手机号码
 */
export function validateMobile (rule, value, callback) {
  const reg = /^(1[3|4|5|6|7|8|9][0-9]{9})$/
  if (value && !reg.test(value)) {
    callback(new Error('请输入正确的手机号'))
    return
  }
  callback()
}

/**
 * 手机号码或者固话
 */
export function validatePhone (rule, value, callback) {
  const reg = /^([0-9]{3,4}[/|-])?[0-9]{7,8}([0-9]{1,4}[/|-])?$|^((\+86)|(86))?(1[3|4|5|6|7|8|9][0-9]{9})$/
  if (value && !reg.test(value)) {
    callback(new Error('请输入正确的手机号码或者固话号码'))
    return
  }
  callback()
}

/**
 * 邮箱
 */
export function validateEmail (rule, value, callback) {
  const reg = /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/
  if (value && !reg.test(value)) {
    callback(new Error('请输入正确的邮箱地址'))
    return
  }
  callback()
}

/**
 * 密码
 */
export function validatePwd (rule, value, callback) {
  const reg1 = /^[A-Za-z0-9]+$/
  if (value && !reg1.test(value)) {
    callback(new Error('只能输入英文字母或者数字'))
    return
  }
  const reg2 = /^[\s\S]{6,20}$/
  if (value && !reg2.test(value)) {
    callback(new Error('请输入6 ~ 20个字符'))
    return
  }
  callback()
}

/**
 * 只能输入半角字符（如：编码）
 */
export function validateHalfAngle (rule, value, callback) {
  const reg1 = /^\S+(\s+\S+)*$/
  if (value && !reg1.test(value)) {
    callback(new Error('不能以空格开头或者结尾'))
    return
  }
  const reg2 = /^[\x00-\xff]+$/
  if (value && !reg2.test(value)) {
    callback(new Error('只能输入半角字符'))
    return
  }
  callback()
}
